<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>2.姓名案例_methods实现</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 
				总结：
						1.稍微好一点，因为模板中的代码简单了很多；
						2.但有效率问题：修改的若是无关数据，getTheFullName也会被调用；
						3.连续使用多次，没有缓存；
		-->
		<!-- 准备好一个容器-->
		<div id="demo">
			<h1>当前的和为：{{n}}</h1>
			<button @click="add">点我n+1</button> <br><br>
			姓：<input type="text" v-model="firstName"> <br><br>
			名：<input type="text" v-model="lastName"> <br><br>
			全名：<span>{{getTheFullName()}}</span> <br><br>
			全名：<span>{{getTheFullName()}}</span> <br><br>
			全名：<span>{{getTheFullName()}}</span> <br><br>
			全名：<span>{{getTheFullName()}}</span> <br><br>
		</div>

		<script type="text/javascript">
			//阻止 vue 在启动时生成生产提示。
			Vue.config.productionTip = false
			
			new Vue({
				el:'#demo',
				data:{
					firstName:'li',
					lastName:'si',
					n:0
				},
				methods:{
					//getTheFullName函数何时被调用？ —— ①初次展示时会调用。②
					getTheFullName(){
						console.log('getTheFullName被调用了！')
						return this.firstName.slice(0,1).toUpperCase() + this.firstName.slice(1) + '-' + this.lastName
					},
					add(){
						this.n += 1
					}
				}
			})
		</script>
	</body>
</html>